/*
	DHL_MPEGTypes.h



*/


/*******************************************************************************
 * MPEG.h - definitions taken from the MPEG 2 specification
 *
 * Copyright (c) 2004 Zoran, Corporation.  All Rights Reserved Worldwide.
 *
 * THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO ZORAN, CORP. AND
 * CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use,
 * reproduction, modification, or disclosure of this program is strictly
 * prohibited.	Any use of this program by an authorized licensee is
 * strictly subject to the terms and conditions, including
 * confidentiality obligations, set forth in the applicable Software
 * License Agreement between Zoran, Corp. and the licensee.
 *
 * $Id: //suprahd/releases/suprahd_239/suprahd_zTVApp660_239/include/MPEG.h#1 $
 * $Revision: #1 $
 * $DateTime: 2006/06/05 14:53:58 $
 * $Change: 45890 $
 * $Author: catherine.lee $
 * 
 ******************************************************************************/



#ifndef __DHL_MPEG_TYPES_H__
#define __DHL_MPEG_TYPES_H__



// cafrii 070321 add to avoid conflict from LGdrv
#ifndef MPEG_PICTURE_TYPE_defined
typedef enum {
	N_PICTURE  = 0,
	I_PICTURE = 1,
	P_PICTURE = 2,
	B_PICTURE = 3,
	D_PICTURE  = 4
} MPEG_PICTURE_TYPE;
#define MPEG_PICTURE_TYPE_defined

#endif

typedef enum {
	FIELD_PICTURE_TOP = 1,
	FIELD_PICTURE_BOT = 2,
	FRAME_PICTURE = 3
} MPEG_PICTURE_STRUCTURE;

typedef enum {
	I_ONLY_GOP         = 0x01,
	P_ONLY_GOP         = 0x02,
	I_P_GOP            = 0x03,
	B_ONLY_GOP         = 0x04,
	I_B_GOP            = 0x05,
	P_B_GOP            = 0x06,
	I_P_B_GOP          = 0x07
} MPEG_GOP_TYPE;

typedef enum {
	CHROMA_4_2_0 = 1,		/* ATSC specified */
	CHROMA_4_2_2 = 2,
	CHROMA_4_4_4 = 3
} MPEG_CHROMA_FORMAT;

typedef enum {
	MVF_Component = 0,		/* ATSC specified */
	MVF_PAL = 1,
	MVF_NTSC = 2,
	MVF_SECAM = 3,
	MVF_MAC = 4,
	MVF_Unspecified = 5
} MPEG_VIDEO_FORMAT;

typedef enum {
	aspectRatioUnknown = 0,	/* Not used in MPEG streams */
	SAR_SquarePixel = 1,
	DAR_3_4 = 2,
	DAR_9_16 = 3,
	DAR_1_2_21 = 4,
	/* Below are only for MPEG 1 */
	SAR_0_8055 = 5,
	SAR_0_8437 = 6,		/* 16:9 625line */
	SAR_0_8935 = 7,
	SAR_0_9157 = 8,		/* CCIR601 625line */
	SAR_0_9815 = 9,
	SAR_1_0255 = 10,
	SAR_1_0695 = 11,
	SAR_1_0950 = 12,	/* CCIR601 525line */
	SAR_1_1575 = 13,
	SAR_1_2015 = 14
} MPEG_ASPECT_RATIO;

typedef enum {
	FRAMERATE_23_976    = 1,	/* ATSC */
	FRAMERATE_24        = 2,	/* ATSC */
	FRAMERATE_25        = 3,
	FRAMERATE_29_97     = 4,	/* ATSC */
	FRAMERATE_30        = 5,	/* ATSC */
	FRAMERATE_50        = 6,
	FRAMERATE_59_94     = 7,	/* ATSC */
	FRAMERATE_60        = 8 	/* ATSC */
} MPEG_FRAME_RATE;

typedef enum {
	ITU_R_BT_709 = 1,		/* ATSC Preferred */
	Unspecified_Video = 2,
	ITU_R_BT_470_2_System_M = 4,
	ITU_R_BT_470_2_System_BG = 5,
	SMPTE_170M = 6,			/* ATSC Alternate */
	SMPTE_240M = 7,	
	LinearTransferCharacteristics = 8,	/* for Transfer Characteristics only */
	CIE_RGB = 9,
	ITU_R_BT_624_4 = 10,
	ITU_R_BT_709_4 = 11 
} MPEG_COLOUR_TYPE;





#endif // __DHL_MPEG_TYPES_H__




